Software System Engineering: A Tutorial

نویسنده

  • Richard H. Thayer
چکیده

S oftware systems have become larger and more complex than ever. We can attribute some of this growth to advances in hardware performance—advances that have reduced the need to limit a software sys-tem's size and complexity as a primary design goal. Microsoft Word is a classic example: A product that would fit on a 360-Kbyte diskette 20 years ago now requires a 600-Mbyte CD. But there are other reasons for increased size and complexity. Specifically, software has become the dominant technology in many if not most technical systems. It often provides the cohesiveness and data control that enable a complex system to solve problems. Figure 1 is a prime example of this concept. In an air traffic control system, software connects the airplanes , people, radar, communications, and other equipment that successfully guide an aircraft to its destination. Software provides the system's major technical complexity. The vast majority of large software systems do not meet their projected schedule or estimated cost, nor do they completely fulfill the system acquirer's expectations. This phenomenon has long been known as the software crisis. 1 In response to this crisis, software developers have introduced different engineering practices into product development. Simply tracking a development project's managerial and technical status—resources used, milestones accomplished, requirements met, tests completed—does not provide sufficient feedback about its health. Instead, we must manage the technical processes as well as its products. System engineering provides the tools this technical management task requires. The application of system engineering principles to the development of a computer software system produces activities, tasks, and procedures called software system engineering, or SwSE. Many practitioners consider SwSE to be a special case of system engineering, and others consider it to be part of software engineering. However, we can argue that SwSE is a distinct and powerful tool for managing the technical development of large software projects. This tutorial integrates the definitions and processes from the IEEE software engineering standards 2 into the SwSE process. A longer version that includes a detailed step-by-step approach for implementing SwSE is available in Software Engineering Volume 1: The Development Process, part of the IEEE Computer Society's " best practices series. " 3 A system is a collection of elements related in a way that allows a common objective to be accomplished. In computer systems, these elements include hardware, software, people, facilities, and processes. System engineering is the practical application of scientific, …

برای دانلود رایگان متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

A Tutorial on Agent Based Software Engineering

Agent oriented software development is one of the most contributions to the field of software engineering. The method of analysis and design is not so mature as structured analysis and design and object oriented analysis and design. In this case, robust and easyto-use methodologies and tools have to be developed for agent based software engineering. As we know, Analysis is an important phase in...

متن کامل

Search Based Software Engineering: Techniques, Taxonomy, Tutorial

The aim of Search Based Software Engineering (SBSE) research is to move software engineering problems from human-based search to machine-based search, using a variety of techniques from the metaheuristic search, operations research and evolutionary computation paradigms. The idea is to exploit humans’ creativity and machines’ tenacity and reliability, rather than requiring humans to perform the...

متن کامل

Tutorial Review: Simulation of Oscillating Chemical Reactions Using Microsoft Excel Macros

Oscillating reactions are one of the most interesting topics in chemistry and analytical chemistry. Fluctuations in concentrations of one the reacting species (usually a reaction intermediate) create an oscillating chemical reaction. In oscillating systems, the reaction is far from thermodynamic equilibrium. In these systems, at least one autocatalytic step is required. Developing an instinctiv...

متن کامل

What is the best way for developers to learn new software tools? An empirical comparison between a text and a video tutorial

The better developers can learn software tools, the faster they can start using them and the more efficiently they can later work with them. Tutorials are supposed to help here. While in the early days of computing, mostly text tutorials were available, nowadays software developers can choose among a huge number of tutorials for almost any popular software tool. However, only little research wa...

متن کامل

Development and Usability Evaluation of an Online Tutorial for “How to Write a Proposal” for Medical Sciences Students

Background and Objective: Considering the importance of learning how to write a proposal for students, this study was performed to develop an online tutorial for “How to write a Proposal” for students and to evaluate its usability. Methods: This study is a developmental research and tool design. “Gamified Online Tutorial based on Self-Determination Theory (GOT-STD) Framework" became the basis f...

متن کامل

Software Requirements: A Tutorial

∗ Published in: Software Requirements Engineering 2nd Edition, R. Thayer. M. Dorfman, Eds., IEEE Computer Society press, 1997 “The hardest single part of building a software system is deciding precisely what to build. No other part of the conceptual work is as difficult as establishing the detailed technical requirements...No other part of the work so cripples the resulting system if done wrong...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

عنوان ژورنال:
  • IEEE Computer

دوره 35  شماره 

صفحات  -

تاریخ انتشار 2002